{{tag>brouillon programmation IDE Python}}

----
{{ application:applications:logo_pycharm.png|Logo de PyCharm}}
====== IDE : PyCharm ======

**PyCharm** est un [[wpfr>Environnement de développement intégré]] (IDE) [[:python|Python]] développé et édité par JetBrains basé sur la plateforme [[:intellij|IntelliJ]].

**PyCharm** est un IDE complet misant sur la productivité avec des systèmes d'auto-complétion intelligente, d'analyse de code en temps réel, de refactoring avancé, l'intégration d'outils de tests et de debugging, et une pléthore de raccourcis clavier permettant de réaliser presque n'importe quelle tâche rapidement sans jamais lever les mains du clavier pour utiliser la souris.

{{ :application:applications:intellij_saucy_01.png?800 |IntelliJ IDEA Community Edition 13 sur Ubuntu}}

===== Les éditions de PyCharm =====
**PyCharm** est disponible dans trois éditions : 

La **Community Edition** est sous licence Apache et propose la gestion des packages, le support de PyQt et PyGTK.

La [[https://www.jetbrains.com/pycharm-educational/|PyCharm Educational Edition]], basée sur la //Community Edition//, propose l'apprentissage de la programmation en Python et la création de cours et tutoriels.

La **Professional Edition** est propriétaire et payante et apporte des outils de conception avancé et le support de Cython, [[:django|Django]], Pyramid, Flask, web2py, Mako et Jinja2.

Les différences entres ces deux éditions [[http://www.jetbrains.com/idea/features/editions_comparison_matrix.html|sont listées ici]].

<note tip>Il est à noter que l'//Ultimate Edition// est gratuite pour les enseignants, étudiants et projets open-source.</note>

===== Installation =====
==== Pré-requis ====
<note important>
Afin d'utiliser PyCharm, vous devez avoir un [[:java|Java]] et un interpréteur Python (2 ou 3) d'installés.

Pour cela, vous pouvez [[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt>openjdk-8-jdk, python, python3]]**.
</note>

==== Depuis le site officiel ====
JetBrains propose de télécharger les deux éditions de PyCharm sur [[http://www.jetbrains.com/idea/download/|son site]]. 

<note todo>Upgrader le screenshot avec un screen plus récent</note>
{{ :application:applications:intellij_telechargement.png?400 |}}

  - Téléchargez l'édition que vous souhaitez (//Community Edition// ou //Professional Edition//).
  - Ouvrez un [[:terminal]], déplacez-vous dans le dossier où se trouve l'archive que vous venez de télécharger et rentrez la [[:commande_shell|commande]] <code>sudo tar -zxvf pycharm-<version>.tar.gz -C /opt/</code>
  - Pour lancer IntelliJ pour la première fois, entrez la commande <code>/opt/pycharm/bin/pycharm.sh</code> Lors du premier lancement, IntelliJ vous proposera de créer un raccourci que vous pourrez utiliser par la suite pour le lancer.

===== Création de votre premier projet Python =====

===== Conseils de productivité =====
  * **Utilisez un maximum les raccourcis clavier**. Ça parait bête mais IntelliJ a vraiment été conçu autour de ces raccourcis.
    * Je vous invite à regarder la présentation [[https://www.voxxed.com/blog/presentation/presentation-42-intellij-idea-tips-tricks-45-minutes/|42 IntelliJ IDEA Tips and Tricks in 45 Minutes]] (en anglais) qui présente la plupart des raccourcis et astuces les plus pratiques d'IntelliJ.
    * Quelques anti-sèches bien pratiques : [[https://www.jetbrains.com/idea/help/keyboard-shortcuts-you-cannot-miss.html|Keyboard Shortcuts You Cannot Miss]], [[https://www.jetbrains.com/idea/help/navigating-through-the-source-code.html|Navigation Through the Source Code]] et [[https://www.jetbrains.com/idea/docs/IntelliJIDEA_ReferenceCard.pdf|IntelliJ Default Keymap]] (PDF).
    * Toujours concernant les raccourcis clavier, ne soyez pas tenté de les modifier afin qu'ils correspondent à ceux d'Eclipse ou Netbeans. Apprendre les raccourcis clavier d'un nouvel IDE est long et fastidieux, mais ça vaudra le coup !
  * Pour économiser de la batterie sur un ordinateur portable, activez le "Power Save Mode" sous **File → Power Save Mode**. Ceci aura pour effet de désactiver les inspections automatiques du code qui ont tendance à consommer des ressources (et donc de la batterie !) en arrière-plan.